using System;
using System.Collections.Generic;
using System.Text;
using System.Workflow.ComponentModel;
using System.Workflow.Activities;
using System.Messaging;
using System.ServiceModel;
using System.Data;
using SLS.ExClassLib.Events;

namespace SLS.ExClassLib.Contract
{
    [ExternalDataExchangeAttribute]
    public interface IWorkFlowContract
    {
        void CallUI(ExMessageExEventArgs e);
        void CallWF(ExMessageExEventArgs e);

        #region Share
        event EventHandler<ExMessageExEventArgs> GetWorkflowActivies;
        event EventHandler<ExMessageExEventArgs> WriteLog;
        event EventHandler<ExMessageExEventArgs> FileNewRecord;
        event EventHandler<ExMessageExEventArgs> FileCopyRecord;
        event EventHandler<ExMessageExEventArgs> FileSaveRecord;
        event EventHandler<ExMessageExEventArgs> ValidateRecord;
        event EventHandler<ExMessageExEventArgs> ThisFail;
        event EventHandler<ExMessageExEventArgs> ThisPass;
        event EventHandler<ExMessageExEventArgs> CreateByTemplate;
        
        #endregion
        event EventHandler<ExMessageExEventArgs> ReturnResult;
        event EventHandler<ExMessageExEventArgs> JobStarted;
        event EventHandler<ExMessageExEventArgs> JobQueryFinish;
        event EventHandler<ExMessageExEventArgs> OnJobArrival;
        event EventHandler<ExMessageExEventArgs> JobStartEdit;
        event EventHandler<ExMessageExEventArgs> JobEditFinish;
        #region CenterWF
        event EventHandler<ExMessageExEventArgs> ChildWorkFlowStart;
        #endregion
    }
}
